Я хочу заменить группы слов ссылками. Я использую многомерный массив для их определения (в реальном мире их будет тысячи).
Вот код:
<code>$text = "<html><body><pre>
Here is Foo in text.
Now come Baz? and Bar-X.
Replace nothing here: Foo (followed by brackets).
";
$ s = массив (
массив ("t" => "Foo", "u" => "
http://www.foo.com"," c "=>" foo "),
массив ("t" => "Baz?", "u" => "
http://www.baz.net"," c "=>" test "),
массив ("t" => "Bar-X", "u" => "
http://www.baz.org"," c "=>" test ")
);
foreach ($ s как $ i => $ row) {
$ replace = preg_replace ('/ (? = \ Q'. $ row ["t"]. '\ E [^ (] + $) \ b \ Q'. $ row ["t"]. '\ E \ б / м»,
'
'. $ Строка [ "т"] '',
$ Текста);
}
echo $ заменен;
?>
Проблема в том, что заменяется только один элемент массива, а не все. Это что-то о $ text в peg_replace (). У кого-нибудь есть подсказка для меня? Спасибо!